motor dc driver with lcd nextion nx8048t050_011

Dependencies:   mbed QEI_hw NVIC_set_all_priorities SoftPWM

https://os.mbed.com/media/uploads/exarkun/wp_20180730_002.jpg https://os.mbed.com/media/uploads/exarkun/wp_20180823_003.jpg https://os.mbed.com/media/uploads/exarkun/wp_20180730_007.jpg https://os.mbed.com/media/uploads/exarkun/wp_20171120_004.jpg

https://os.mbed.com/media/uploads/exarkun/wp_20191002_006.jpg https://os.mbed.com/media/uploads/exarkun/wp_20191002_003.jpg https://os.mbed.com/media/uploads/exarkun/wp_20191002_004.jpg https://os.mbed.com/media/uploads/exarkun/wp_20191002_005.jpg https://os.mbed.com/media/uploads/exarkun/wp_20190322_003.jpg https://os.mbed.com/media/uploads/exarkun/wp_20180925_002.jpg https://os.mbed.com/media/uploads/exarkun/wp_20181010_006.jpg https://os.mbed.com/media/uploads/exarkun/wp_20181220_001.jpg

https://os.mbed.com/media/uploads/exarkun/wp_20181220_002.jpg

Revision:
1:2fe82be93e80
Parent:
0:ea04a1655f3b
Child:
2:e72b06f87c8b
--- a/main.cpp	Fri Sep 27 12:46:15 2019 +0000
+++ b/main.cpp	Fri Oct 18 13:14:40 2019 +0000
@@ -3,11 +3,87 @@
 //rajout de la conversion AD p20--------( 15 / 11 / 2017 ) task6  
 //rajout fonction generation trajectoire a tester "il y as un probleme de position final lorsque on change "slope_time"
 //rajout en task2 visualisation des pulses avec "telemetry viewer v0.4" 
+//rajout afficheur nextion nx8048t050_011 ---------(  05 / 10 / 2019  )
 
 #include "mbed.h"
 #include "qeihw.h"
 #include "NVIC_set_all_priorities.h"
+#include "timer.hpp"
+#include "NextionLCD.h"
 
+//declaration des variables afficheur 
+
+#define BLACK   0 
+#define BLUE    31
+#define BROWN   48192
+#define GREEN   2016
+#define YELLOW  65504
+#define RED     63488
+#define GRAY    33840
+#define WHITE   65535
+
+ typedef struct ButtonCommand
+{
+    char IsNewCommandAvailable;
+    char IsButtonPressed;
+    char cmdNb;
+    char buttonId;
+    char data1;
+    char data2;
+    char var1;
+}ButtonCommand;
+
+typedef enum
+{
+    ButtonCmd = 0x65,//Touch event return data   
+    PageCmd = 0x66,//Current page ID number returns
+    TouchCmd = 0x67,//Touch coordinate data return
+    TouchEentCmd = 0x68,//Touch Event in sleep mode
+    StringDataCmd = 0x70,//String variable data returns
+    NumericDataCmd = 0x71,//Numeric variable data returns
+    SleepModeCmd = 0x86,//Device automatically enters into sleep mode
+    WakeUpCmd = 0x87,//Device automatically wake up
+    StartUpCmd = 0x88,//System successful start up
+    StartSDCmd = 0x89,//Start SD card upgrade
+    DataTTRCmd = 0xfe,//Data transparent transmit ready
+     
+}CommandNb;
+
+typedef enum
+{
+    Page0 = 0x00,
+    Page1 = 0x01,   
+    Page2 = 0x02,
+    Page3 = 0x03,
+    Page4 = 0x04,
+    Page5 = 0x05,
+    Page6 = 0x06,
+    Page7 = 0x07,
+}PageNb;
+
+typedef enum
+{
+    Invalid_instruction = 0x0,
+    Successful_execution_of_instruction = 0x01,
+    Page_ID_invalid = 0x03,
+    Picture_ID_invalid = 0x04,
+    Font_ID_invalid = 0x05,
+    Baud_rate_setting_invalid = 0x11,
+    Curve_control_ID_number_or_channel_number_is_invalid = 0x12,
+    Variable_name_invalid = 0x1a,
+    Variable_operation_invalid = 0x1b,
+    Failed_to_assign = 0x1c,
+    Operate_PERFROM_failed = 0x1d,
+    Parameter_quantity_invalid = 0x1e,
+    IO_operate_failed = 0x1f,
+    
+}ErrorNb;
+
+ButtonCommand buttonCmd;
+char Cmd;
+bool newCmdAvailable = false;
+PageNb CurrentPageNb = Page0;
+   
 // déclaration du hardware
 Serial pc(USBTX, USBRX);//utilisation de la liaison usb
  
@@ -23,10 +99,10 @@
   
 SPISlave spi1(p5, p6, p7, p8); // mosi, miso, sclk, ssel
 
-AnalogIn Ain(p20);
+AnalogIn Ain(p20);    
   
 // définition des timers.
-Timer timer1;  
+//Timer timer1;  
 Timer timer2;  
 
 //definition  spi1
@@ -197,7 +273,7 @@
  }
 
 //recuperation de la valeur val du sliders h0 
-// example : get_val(0);
+//example : get_val(0);
 void get_val(int n)
 {  
  device.printf("get h%d.val %c%c%c",n, 0xff, 0xff, 0xff);//recuperation de la valeur val du sliders h0
@@ -237,7 +313,6 @@
   return n;
 }
 
-
 /////////////////////////////////////////////////////////////////////////////
 //                   declaration de la fonction moteur1                    //
 /////////////////////////////////////////////////////////////////////////////
@@ -248,7 +323,7 @@
 /////////////////////////////////////////////////////////////////////
 //               mouvement   trapezoide  non tésté                 //
 /////////////////////////////////////////////////////////////////////
-
+/*
     timer1.start(); // déclenchement du timer1 
     timer2.start(); // déclenchement du timer2
 //ACC      
@@ -298,11 +373,9 @@
     }      
 
 timer2.reset(); // remise à zéro du timer2
+*/
 };
 
-
-
-
 //////////////////////////////////////////////////////////////////////////////////////////
 //                         declaration des differantes pages                            //
 //////////////////////////////////////////////////////////////////////////////////////////
@@ -315,24 +388,25 @@
 //wait_ms(10);
 
 //device.printf("page %d%c%c%c",0x0, 0xff, 0xff, 0xff);// saut a la page0------sy
-//wait_ms(10); 
-device.printf("t6.txt=\"soft V0.01\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
-wait_ms(5); 
+//wait_ms(10);
+device.printf("t0.txt=\"position\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy 
+device.printf("t6.txt=\"soft V0.014\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
+//wait_ms(5); 
 device.printf("b13.txt=\"flyready\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
-wait_ms(5); 
+//wait_ms(5); 
 device.printf("b12.txt=\"BREAK\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
-wait_ms(5); 
+//wait_ms(5); 
 device.printf("b11.txt=\"LANDING\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
-wait_ms(5);
+//wait_ms(5);
 device.printf("b21.txt=\"Quantum\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
-wait_ms(5);
+//wait_ms(5);
 
 device.printf("b18.txt=\"Speed M\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
-wait_ms(5);
+//wait_ms(5);
 device.printf("b19.txt=\"couple M\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
-wait_ms(5);
+//wait_ms(5);
 device.printf("b20.txt=\"Afterburner\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
-wait_ms(5);
+//wait_ms(5);
 
 //device.printf("b0.pic=17%c%c%c", 0xff, 0xff, 0xff);//chager l image du bouton b0 par l image n°17------sy
 //wait_ms(10);
@@ -343,7 +417,7 @@
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////             
              //FLY READY switch
           if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x19)&&(mRxMsg[3] == 0x01))
-             { 
+             { myled3=1;
                 //keyboard.printf("r");//flight ready
              }//uniquement le bouton allumeras la led 1 en release ---------------SY
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////              
@@ -362,7 +436,7 @@
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////               
              //LANDING switch
           if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x17)&&(mRxMsg[3] == 0x01))
-             {
+             {myled3=1;
              //keyboard.printf("n");//landing mode 
              }//uniquement le bouton home allumeras la led 3 en release ---------------SY
              
@@ -603,12 +677,13 @@
 
 //ici il faut completer le code pour pouvoir detecter le bon bouton en press event et release event
 //example le bouton start  press event 65 01 01 01 ff ff ff  et en release event 65 01 01 00 ff ff ff . rem:code touche repris par simulation avec le soft nextion 
-
+myled3=0;
 }
  
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 //******************************************************************page1******************************************************************//
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
 void page1()//code de la page : 6601ffffff
 {
 device.printf("bt0.txt=\"BREAK1\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy    
@@ -617,47 +692,49 @@
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 //******************************************************************page2******************************************************************//
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
 void page2()//code de la page : 6602ffffff
 {
 device.printf("b0.txt=\"BREAK2\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton b0 -------sy 
-get_val(3);//donner l'ordre d envoyer la valeur val de h3
-int valeur_val=lecture_slider_RS_lcd();//recuperation de la valeur val de h3
-device.printf("n3.val=%d %c%c%c", valeur_val, 0xff, 0xff, 0xff);//affiche le nombre sur n1 -------sy
-device.printf("z0.val=%d %c%c%c", valeur_val, 0xff, 0xff, 0xff);//affiche le nombre sur z0 gauge -------sy
+//get_val(3);//donner l'ordre d envoyer la valeur val de h3
+//int valeur_val=lecture_slider_RS_lcd();//recuperation de la valeur val de h3
+//device.printf("n3.val=%d %c%c%c", valeur_val, 0xff, 0xff, 0xff);//affiche le nombre sur n1 -------sy
+//device.printf("z0.val=%d %c%c%c", valeur_val, 0xff, 0xff, 0xff);//affiche le nombre sur z0 gauge -------sy
 }
   
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 //******************************************************************page3******************************************************************//
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
 void page3()//code de la page : 6603ffffff
 {
-device.printf("b19.txt=\"BREAK3\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton b19 -------sy     
+device.printf("t0.txt=\"BREAK3\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton b19 -------sy     
 }
    
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 //******************************************************************page4******************************************************************//
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
 void page4()//code de la page : 6604ffffff
 {
 device.printf("t0.txt=\"BREAK4\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
 
-    get_val_h0();
-    val_temp1=lecture_slider_RS_lcd();//recuperation de la valeur du sliders h0 dans val_temp
-    device.printf("n1.val=%d %c%c%c", val_temp1, 0xff, 0xff, 0xff);//affiche le nombre sur n1 -------sy
+//    get_val_h0();
+//    val_temp1=lecture_slider_RS_lcd();//recuperation de la valeur du sliders h0 dans val_temp
+//    device.printf("n1.val=%d %c%c%c", val_temp1, 0xff, 0xff, 0xff);//affiche le nombre sur n1 -------sy
  
 }   
 
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 //******************************************************************page5******************************************************************//
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
 void page5()//code de la page : 6605ffffff
 {
-device.printf("t0.txt=\"BREAK5\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
-device.printf("t1.txt=\"500ms/div\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
-  
-device.printf("g0.txt=\"position M\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy 
+//device.printf("t0.txt=\"BREAK5\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+//device.printf("t1.txt=\"500ms/div\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+//device.printf("g0.txt=\"position M\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy 
 device.printf("add 1,0,%d%c%c%c", (position_actuelle/500), 0xff, 0xff, 0xff);// pour la fonction waveform add id1,chanel0,position actu
-
 }
 
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -666,13 +743,58 @@
     
 void page6()//code de la page : 6606ffffff
 {
-
-device.printf("t1.txt=\"courant\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy 
-device.printf("t0.txt=\"position\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+//device.printf("t1.txt=\"courant\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy 
+//device.printf("t0.txt=\"position\"%c%c%c", 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
 device.printf("add 2,0,%d%c%c%c", (position_actuelle/500), 0xff, 0xff, 0xff);// pour la fonction waveform add id1,chanel0,position actu
-
 }    
 
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//******************************************************************page7******************************************************************//
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    
+void page7()//code de la page : 6607ffffff
+{
+        device.printf("t0.txt=\"%x\"%c%c%c", mRxMsg[0], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy 
+        device.printf("t1.txt=\"%x\"%c%c%c", mRxMsg[1], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t2.txt=\"%x\"%c%c%c", mRxMsg[2], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t3.txt=\"%x\"%c%c%c", mRxMsg[3], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t4.txt=\"%x\"%c%c%c", mRxMsg[4], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t5.txt=\"%x\"%c%c%c", mRxMsg[5], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t6.txt=\"%x\"%c%c%c", mRxMsg[6], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t7.txt=\"%x\"%c%c%c", mRxMsg[7], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy 
+        device.printf("t8.txt=\"%x\"%c%c%c", mRxMsg[8], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t9.txt=\"%x\"%c%c%c", mRxMsg[9], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t10.txt=\"%x\"%c%c%c", mRxMsg[10], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t11.txt=\"%x\"%c%c%c", mRxMsg[11], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t12.txt=\"%x\"%c%c%c", mRxMsg[12], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t13.txt=\"%x\"%c%c%c", mRxMsg[13], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t15.txt=\"%x\"%c%c%c", mRxMsg[14], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t16.txt=\"%x\"%c%c%c", mRxMsg[15], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t17.txt=\"%x\"%c%c%c", mRxMsg[16], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t18.txt=\"%x\"%c%c%c", mRxMsg[17], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t19.txt=\"%x\"%c%c%c", mRxMsg[18], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t20.txt=\"%x\"%c%c%c", mRxMsg[19], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t21.txt=\"%x\"%c%c%c", mRxMsg[20], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t22.txt=\"%x\"%c%c%c", mRxMsg[21], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t23.txt=\"%x\"%c%c%c", mRxMsg[22], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t24.txt=\"%x\"%c%c%c", mRxMsg[23], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t25.txt=\"%x\"%c%c%c", mRxMsg[24], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t26.txt=\"%x\"%c%c%c", mRxMsg[25], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t27.txt=\"%x\"%c%c%c", mRxMsg[26], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t28.txt=\"%x\"%c%c%c", mRxMsg[27], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t30.txt=\"%x\"%c%c%c", mRxMsg[28], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t31.txt=\"%x\"%c%c%c", mRxMsg[29], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t32.txt=\"%x\"%c%c%c", mRxMsg[30], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t33.txt=\"%x\"%c%c%c", mRxMsg[31], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t34.txt=\"%x\"%c%c%c", mRxMsg[32], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t35.txt=\"%x\"%c%c%c", mRxMsg[33], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t36.txt=\"%x\"%c%c%c", mRxMsg[34], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t37.txt=\"%x\"%c%c%c", mRxMsg[35], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t38.txt=\"%x\"%c%c%c", mRxMsg[36], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t39.txt=\"%x\"%c%c%c", mRxMsg[37], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t40.txt=\"%x\"%c%c%c", mRxMsg[38], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy
+        device.printf("t41.txt=\"%x\"%c%c%c", mRxMsg[39], 0xff, 0xff, 0xff);//affiche break sur bouton bt0 -------sy      
+}    
 
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 //******************************************************************LES TASKS**************************************************************//
@@ -681,6 +803,7 @@
 ////////////////////////////////////////
 //                TASKS1              //
 ////////////////////////////////////////
+
 void task1_switch()
 { 
 
@@ -740,6 +863,7 @@
 ////////////////////////////////////////
 //                TASKS2              //
 ////////////////////////////////////////
+
 void task2_switch()
 {
 //        pc.printf("%f\r\n", Tetaco);//valeur float consigne  en radians le renvoyé par usb
@@ -775,13 +899,14 @@
 //    char text[31];
 //    snprintf(text, 31, "%s", ppp_text);
 //    pc.printf(text);
-//device.printf("n0.val=%d%c%c%c", position_actuelle, 0xff, 0xff, 0xff);// affiche la valeur de position  sur l afficheur nextion  
-         
+device.printf("n0.val=%d%c%c%c", (LPC_QEI->QEIPOS)/*position_actuelle*/, 0xff, 0xff, 0xff);// affiche la valeur de position  sur l afficheur nextion
+        
 };
 
 ////////////////////////////////////////
 //                TASKS3              //
 ////////////////////////////////////////
+
 void task3_switch()
 { 
 
@@ -804,12 +929,13 @@
 ////////////////////////////////////////
 //                TASKS4              //
 ////////////////////////////////////////
+
 void task4_switch()
 { 
 //device.printf("$%d;", position_actuelle); //utiliser avec logicielle serial port ploter 
 //pc.printf("0x%04x\n", valueFromMaster);
 //pc.printf("%04x", valueFromMaster);
-//device.printf("add 1,0,%d%c%c%c", (position_actuelle/500), 0xff, 0xff, 0xff);// pour la fonction waveform add id1,chanel0,position actu
+device.printf("add 1,0,%d%c%c%c", (position_actuelle/500), 0xff, 0xff, 0xff);// pour la fonction waveform add id1,chanel0,position actu
 //device.printf("add 1,0,%d%c%c%c", (ADCdata)/10, 0xff, 0xff, 0xff);// pour la fonction waveform add id1,chanel0,position actu
 
 }
@@ -817,6 +943,7 @@
 //////////////////////////////////////////////////////////////////////////////
 //                TASKS5  reception et transfert données sur SPI            //
 //////////////////////////////////////////////////////////////////////////////
+
 void task5_switch()
 {
         //reply=0xAAAA;
@@ -844,20 +971,21 @@
 /////////////////////////////////////////////////////////////////////////
 //              TASKS6  lecture de l'image courant moteur              //
 /////////////////////////////////////////////////////////////////////////
+
 void task6_switch()
 { 
-
-//ADCdata=Ain*3.3; //lecture de l'image du courant
+   // ADCdata=Ain*3.3; //lecture de l'image du courant
 
 for (int z=0;z<=9;z++) 
 {
-ADCdata=ADCdata+Ain*3.3; //sum 10 samples
+    ADCdata=ADCdata+Ain*3.3; //sum 10 samples
 } 
-ADCdata=ADCdata/10; //divide by 10 
+//ADCdata=ADCdata/10; //divide by 10
+device.printf("n0.val=%d%c%c%c", ADCdata, 0xff, 0xff, 0xff);// affiche la valeur de position  sur l afficheur nextion 
 //ADCdata=Ain.read_u16();
 if(ADCdata>=imax)//si l'image du courant egale a 0.5v je coupe le moteur .
 {
- while(1){                    
+    while(1){                    
             PWM1.write(0);//mise du signal pwm a zero.
 //            pc.printf("%1.3f",ADCdata); 
 //            pc.printf("V\n\r");
@@ -866,7 +994,7 @@
             //attendre que le manipulateur appuis sur le bouton restart a coder .
             //veriffier que les plaques sont bien en position .
             //faire une home ou continuer la trajectoire .a voir !!!!
-         }
+            }
 }
 // ici code de la tache 6
 
@@ -875,96 +1003,150 @@
 ////////////////////////////////////////
 //                TASKS7              //
 ////////////////////////////////////////
+
+int ReadSerialMsg(char *Msg)
+{
+    if(device.readable())
+    { 
+        
+        Msg[mRxIdx] = device.getc(); 
+        mRxIdx++;
+        if(mRxIdx > 3)
+        {
+            if ((Msg[mRxIdx-1] == 0xff) && (Msg[mRxIdx-2] == 0xff) && (Msg[mRxIdx-3] == 0xff)) //valid rx message
+            { 
+                mRxIdx=0;
+                return 1;
+            }
+        }
+    }
+    return 0;
+}
+
+void FillButtonCmd(char *mRxMsg, ButtonCommand *cmd)
+{
+    cmd->IsNewCommandAvailable = 1;
+    cmd->cmdNb = mRxMsg[0];
+    cmd->var1 = mRxMsg[1];
+    cmd->buttonId = mRxMsg[2];
+    cmd->IsButtonPressed = mRxMsg[3]; 
+}
+
 void task7_switch()
 {
-//lectureRSlcd();
-if(device.readable())
+    if(1 ==  ReadSerialMsg(mRxMsg))
+    {
+        Cmd = mRxMsg[0];
+        //newCmdAvailable = true;
+        
+        switch(Cmd)
+        {
+            case PageCmd:
+                //resetPageSteps();
+                CurrentPageNb = (PageNb)mRxMsg[1];
+            break;
+            
+            case ButtonCmd:
+                FillButtonCmd(mRxMsg, &buttonCmd);
+            break;        
+        }
+    }
+    //lectureRSlcd();
+    /*
+    if(device.readable())
     {
         myled1=1;
         charac = device.getc(); 
         mRxMsg[mRxIdx] = charac;
         mRxIdx++;
         if ((mRxIdx >= 3) && (mRxMsg[mRxIdx-1] == 0xff) && (mRxMsg[mRxIdx-2] == 0xff) && (mRxMsg[mRxIdx-3] == 0xff)) //valid rx message
-        {
-        myled3=1;  
-          mRxIdx=0;
-        
-          if(mRxMsg[0] == 0x67) //Touch coordinate data return
-             {   mTouchX = (mRxMsg[1]*256) + mRxMsg[2];
+        { 
+            myled3=1; 
+            mRxIdx=0;
+            myled3=0;
+            if(mRxMsg[0] == 0x67) //Touch coordinate data return
+            {
+                mTouchX = (mRxMsg[1]*256) + mRxMsg[2];
                 mTouchY = (mRxMsg[3]*256) + mRxMsg[4];
                 if(mRxMsg[5] == 0x01)
                     mTouch = true; 
                 else
                     mTouch = false;
-             }
-         myled3=0;    
-        }    
+             }    
+        } 
+           
 //vitesse_actuelle=qei.GetVelocity();  //fonctionne pas ...  
 // ici code de la tache 7
-    myled1=0;
-    }
+        myled1=0;
+    }    */    
 }
 
 ////////////////////////////////////////
 //                TASKS8              //
 ////////////////////////////////////////
 
-void task8_switch()
+void task8_switch()//detection code page
 {
-
-    if((mRxMsg[0] == 0x66))//detection code de la page0 
+    if((mRxMsg[0] == 0x66)) 
      {  
         switch ( mRxMsg[1]) 
         {
         case 0x00:
         page0();//ici la page0 es traité ----------- code de la page : 66 00 ff ff ff
-        mRxMsg[0] = 0x00;
+        mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
         break;
         
         case 0x01:
         page1();//ici la page0 es traité ----------- code de la page : 66 01 ff ff ff
-        mRxMsg[0] = 0x00;
+        mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
         break;
         
         case 0x02:
         page2();//ici la page0 es traité ----------- code de la page : 66 02 ff ff ff
-        mRxMsg[0] = 0x00;
+        mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
         break;
         
         case 0x03:
         page3();//ici la page0 es traité ----------- code de la page : 66 03 ff ff ff
-        mRxMsg[0] = 0x00;
+        mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
         break;
         
         case 0x04:
         page4();//ici la page0 es traité ----------- code de la page : 66 04 ff ff ff
-        mRxMsg[0] = 0x00;
+        mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
         break;
         
         case 0x05:
         page5();//ici la page0 es traité ----------- code de la page : 66 05 ff ff ff
-        mRxMsg[0] = 0x00;
+        mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
         break;
 
         case 0x06:
         page6();//ici la page6 es traité ----------- code de la page : 66 06 ff ff ff
-        mRxMsg[0] = 0x00;
+        mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
         break;          
+
+        case 0x07:
+        page7();//ici la page7 es traité ----------- code de la page : 66 07 ff ff ff
+        mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
+        //memset(mRxMsg, 0, 5);
+        break;      
                           
         }     
-        
+   
 // ici code de la tache 8
     }
-
 }
 
-////////////////////////////////////////////////////////////////////////////
-//                       PROGRAMME PRINCIPAL                              //
-////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//                                                   PROGRAMME PRINCIPAL                                                                   //
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+int motorStep = 0;
+int position_a_cmd_darret = 0;
                                                 
 int main()
 {
-              // int cycles;
+                // int cycles;
                 //NVIC_SetPriority(EINT3_IRQn, 252);//set interupt to highest priority 0.
                 //NVIC_SetPriority(TIMER1_IRQn, 253);// set mbed tickers to lower priority than other things
                 //NVIC_SetPriority(TIMER2_IRQn, 254);// set mbed tickers to lower priority than other things
@@ -995,74 +1177,486 @@
  
 //lancement des tasks               
                 time_up1.attach(&task1_switch, 0.0005);//"calcule de l'asservissement" initialisation du ticker a 2Khz "500us".
-                //time_up2.attach(&task2_switch, 0.05);//"retour d'information position par usb" initialisation du ticker a 100hz "10ms".
+                time_up2.attach(&task2_switch, 0.034);//"retour d'information position.
                 time_up3.attach(&task3_switch, 0.0005);//"generation trajectoire" initialisation du ticker a 2khz "500us".
                 //time_up4.attach(&task4_switch, 0.0005);//"retour d'information position par rs232"initialisation du ticker a 100hz "10ms".
                 //time_up5.attach(&task5_switch, 0.0001);//"lecture et ecriture DATA SPI1 initialisation du ticker 10khz.
                 
-                //time_up6.attach(&task6_switch, 0.0005);//initialises the ticker 2kh
-                time_up7.attach(&task7_switch, 0.0001);//initialises the ticker 2kh
-                time_up8.attach(&task8_switch, 0.1);//initialises the ticker 2kh
+                //time_up6.attach(&task6_switch, 0.034);//retour d'information courant.
+                time_up7.attach(&task7_switch, 0.00005);//lecture de la com rs tous les 100us.
+               // time_up8.attach(&task8_switch, 0.5);//detection numero de page tous les 100 ms.
+
+device.printf("sendme");
+count_ticks=0; 
+c='0';
+                 
+        while(1)
+        {
+
 
- device.printf("sendme");
+            if(buttonCmd.IsNewCommandAvailable == 1)//si y as eu un bouton appuyé et que nous somme bien en la page n°7
+                       
+            {
+                motorStep = 0;
+                myled1 = 0;
+                switch(buttonCmd.cmdNb)
+                {
+                    case PageCmd:
+                        switch ( buttonCmd.var1) 
+                        {
+                            case 0x00:
+                                page0();//ici la page0 es traité ----------- code de la page : 66 00 ff ff ff
+                                mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
+                            break;
+                            
+                            case 0x01:
+                                page1();//ici la page0 es traité ----------- code de la page : 66 01 ff ff ff
+                                mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
+                            break;
+                            
+                            case 0x02:
+                                page2();//ici la page0 es traité ----------- code de la page : 66 02 ff ff ff
+                                mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
+                            break;
+                            
+                            case 0x03:
+                                page3();//ici la page0 es traité ----------- code de la page : 66 03 ff ff ff
+                                mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
+                            break;
+                            
+                            case 0x04:
+                                page4();//ici la page0 es traité ----------- code de la page : 66 04 ff ff ff
+                                mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
+                            break;
+                            
+                            case 0x05:
+                                page5();//ici la page0 es traité ----------- code de la page : 66 05 ff ff ff
+                                mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
+                            break;
+                    
+                            case 0x06:
+                                page6();//ici la page6 es traité ----------- code de la page : 66 06 ff ff ff
+                                mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
+                            break;          
+                    
+                            case 0x07:
+                                page7();//ici la page7 es traité ----------- code de la page : 66 07 ff ff ff
+                                mRxMsg[0] = 0x00;mRxMsg[1] = 0x00;mRxMsg[2] = 0x00;mRxMsg[3] = 0x00;mRxMsg[4] = 0x00;
+                                //memset(mRxMsg, 0, 5);
+                            break;      
+                                          
+                        }     
+                    break;
+                }                       
+            }
  
-count_ticks=0;                      
-        while(1)
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////    page0    ////////////////////////////////////////////////////////////
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        
+            if((buttonCmd.IsNewCommandAvailable == 1)&&(mRxMsg[1]==0x00))//si y as eu un bouton appuyé et que nous somme bien en la page n°0
+            {                            
+               motorStep = 0;
+                myled1 = 0;
+                
+                switch(buttonCmd.buttonId)
+                {
+                    case 0x02: // boutn 'A' de la page 0
+                        myled1 = 1;
+                        c='a';
+                        buttonCmd.IsNewCommandAvailable = 0;          
+                        break;
+
+                    case 0x01: // boutn 'B' de la page 0
+                        myled1 = 1;
+                        c='b';
+                        buttonCmd.IsNewCommandAvailable = 0;          
+                        break;                        
+
+                    case 0x03: // boutn 'R' de la page 0
+                        myled1 = 1;
+                        c='c';
+                        buttonCmd.IsNewCommandAvailable = 0;          
+                        break;
+
+                    case 0x04: // boutn 'L' de la page 0
+                        myled1 = 1;
+                        c='d';
+                        buttonCmd.IsNewCommandAvailable = 0;          
+                        break;                        
+
+                    case 0x05: // boutn 'R2' de la page 0
+                        myled1 = 1;
+                        c='d';
+                        buttonCmd.IsNewCommandAvailable = 0;          
+                        break;                                                                         
+                }                         
+            }
+
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////    page1    ////////////////////////////////////////////////////////////
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        
+            if((buttonCmd.IsNewCommandAvailable == 1)&&(mRxMsg[1]==0x01))//si y as eu un bouton appuyé et que nous somme bien en la page n°1
             { 
+                //page1();
+            }
+
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////    page2    ////////////////////////////////////////////////////////////
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        
+            if((buttonCmd.IsNewCommandAvailable == 1)&&(mRxMsg[1]==0x02))//si y as eu un bouton appuyé et que nous somme bien en la page n°2
+            { 
+                //page2();
+            }        
+
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////    page3    ////////////////////////////////////////////////////////////
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        
+            if((buttonCmd.IsNewCommandAvailable == 1)&&(mRxMsg[1]==0x03))//si y as eu un bouton appuyé et que nous somme bien en la page n°3
+            { 
+                //page3();
+            }
+
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////    page4    ////////////////////////////////////////////////////////////
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        
+            if((buttonCmd.IsNewCommandAvailable == 1)&&(mRxMsg[1]==0x04))//si y as eu un bouton appuyé et que nous somme bien en la page n°4
+            { 
+                //page4();
+            }
+
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////    page5    ////////////////////////////////////////////////////////////
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        
+            if((buttonCmd.IsNewCommandAvailable == 1)&&(mRxMsg[1]==0x05))//si y as eu un bouton appuyé et que nous somme bien en la page n°5
+            { 
+                //page5();
+            }
+
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////    page6    ////////////////////////////////////////////////////////////
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
             
-                 c='0';
-                 
-                 //c=valueFromMaster;//valeur par la liaison spi par le master
-                  
-               //device.scanf("%c",&c);//capture du caract ascii 
-                     
-                switch(c)//chargement des wafers dans tete                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
+            if((buttonCmd.IsNewCommandAvailable == 1)&&(mRxMsg[1]==0x06))//si y as eu un bouton appuyé et que nous somme bien en la page n°6
+            { 
+                //page6();
+            }
+                
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////    page7    ////////////////////////////////////////////////////////////
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            
+            if((buttonCmd.IsNewCommandAvailable == 1)&&(mRxMsg[1]==0x07))//si y as eu un bouton appuyé et que nous somme bien en la page n°7
+            {               
+                motorStep = 0;
+                myled1 = 1;                        
+                
+                switch(buttonCmd.buttonId)
                 {
+                    case 0x2f: // boutn 'A' de la page 7
+                        myled1 = 0;
+                        c='a';
+                        buttonCmd.IsNewCommandAvailable = 0;          
+                        break;
 
+                    case 0x30: // boutn 'B' de la page 7
+                        myled1 = 0;
+                        c='b';
+                        buttonCmd.IsNewCommandAvailable = 0;          
+                        break;                        
+
+                    case 0x31: // boutn 'C' de la page 7
+                        myled1 = 0;
+                        c='c';
+                        buttonCmd.IsNewCommandAvailable = 0;          
+                        break;
+
+                    case 0x32: // boutn 'D' de la page 7
+                        myled1 = 0;
+                        c='d';
+                        buttonCmd.IsNewCommandAvailable = 0;          
+                        break;                        
+
+                    case 0x01: // boutn 'D' de la page 7
+                        myled1 = 0;
+                        c='d';
+                        buttonCmd.IsNewCommandAvailable = 0;          
+                        break; 
+                                                                        
+                }           
+             }    
+                //c=valueFromMaster;//valeur par la liaison spi par le master
+                //device.scanf("%c",&c);//capture du caract ascii 
+
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////    differants mouvement    ////////////////////////////////////////////////////////////
+        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              (LPC_QEI->QEIPOS)=0;        
+                switch(c)//commande moteur                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
+                {
                     case 'a':
                     //qei.Reset(0);
-                        consigne=70000 ;  //1 tour                               
-                        slope_time=3;//t =0.ms
-                        start_slope=true;
-                        wait(4.5);                                           
-                       
-                        consigne=0 ;  //1 tour                               
-                        slope_time=3;//t=ms
-                        start_slope=true;
-                        wait(4.5);
-                        
-                        consigne=-70000 ;  //1 tour                               
-                        slope_time=3;//t=ms
-                        start_slope=true;
-                        wait(4.5);
-
-                        consigne=0 ;  //1 tour                               
-                        slope_time=3;//t=ms
-                        start_slope=true;
-                        wait(4.5);                        
-                        
-                    break;  
+                        switch(motorStep)
+                        {
+                            case 0:
+                                consigne=70000 ;  //4 tour                               
+                                slope_time=2.5;//t =2500ms
+                                start_slope=true;
+                                {
+                                    myled3 = 0;
+                                    motorStep = 1;
+                                }
+                                break;
+                            
+                            case 1:
+                                if(true == Wait2(0, 3000))
+                                {
+                                    myled3 = 1;
+                                    motorStep = 2;                                    
+                                }
+                                break;
+                           
+                           case 2:
+                                consigne=0 ;  //4 tour                               
+                                slope_time=2.5;//2500ms
+                                start_slope=true;
+                                {
+                                    motorStep = 3;
+                                }
+                                break;
+                            
+                            case 3:
+                                if(true == Wait2(0, 3000))
+                                {
+                                    motorStep = 4;
+                                }
+                                break;
+                                
+                            case 4:
+                                consigne=-70000 ;  //4 tour                               
+                                slope_time=2.5;//2500ms
+                                start_slope=true;
+                                {
+                                    motorStep = 5;
+                                }
+                                break;
+    
+                            case 5:
+                                if(true == Wait2(0, 3000))
+                                {
+                                    motorStep = 6;
+                                }
+                                break;
+                                
+                            case 6:
+                                consigne=0 ;  //1 tour                               
+                                slope_time=2.5;//2500ms
+                                start_slope=true;
+                                {
+                                    motorStep = 7;
+                                }
+                                break;
+                                
+                            case 7:
+                                if(true == Wait2(0, 3000))
+                                {
+                                    motorStep = 0;
+                                }
+                                break;
+                        }
+                        break;  
 
                     case 'b':
                     //qei.Reset(0);
-                        consigne=100000 ;  //1 tour                               
-                        slope_time=2.5;//t =0.5ms
-                        start_slope=true;
-                        wait(3.5);                                           
-                       
-                        consigne=0 ;  //1 tour                               
-                        slope_time=2.5;//t=1ms
+                        switch(motorStep)
+                        {
+                            case 0:
+                                consigne=0 ;  //1 tour                               
+                                slope_time=0.25;//2500ms
+                                start_slope=true;
+                                {
+                                    motorStep = 1;
+                                }
+                                break;
+                            
+                            case 1:
+                                if(true == Wait2(0, 400))
+                                {
+                                    motorStep = 2;                                    
+                                }
+                                break;
+                           
+                           case 2:
+                                consigne=10000 ;  //1 tour                               
+                                slope_time=0.25;//t=ms
+                                start_slope=true;
+                                {
+                                    motorStep = 3;
+                                }
+                                break;
+                            
+                            case 3:
+                                if(true == Wait2(0, 400))
+                                {
+                                    motorStep = 4;
+                                }
+                                break;
+                                
+                            case 4:
+                                consigne=20000 ;  //1 tour                               
+                                slope_time=0.25;//t=ms
+                                start_slope=true;
+                                {
+                                    motorStep = 5;
+                                }
+                                break;
+    
+                            case 5:
+                                if(true == Wait2(0, 400))
+                                {
+                                    motorStep = 6;
+                                }
+                                break;
+                                
+                            case 6:
+                                consigne=30000 ;  //1 tour                               
+                                slope_time=0.25;//t=ms
+                                start_slope=true;
+                                {
+                                    motorStep = 7;
+                                }
+                                break;
+                                
+                            case 7:
+                                if(true == Wait2(0, 400))
+                                {
+                                    motorStep = 8;
+                                }
+                                break;
+                                
+                            case 8:
+                                consigne=40000 ;  //1 tour                               
+                                slope_time=0.25;//t=ms
+                                start_slope=true;
+                                {
+                                    motorStep = 9;
+                                }
+                                break;
+                                
+                            case 9:
+                                if(true == Wait2(0, 400))
+                                {
+                                    motorStep = 10;
+                                }
+                                break; 
+                                                               
+                            case 10:
+                                consigne=50000 ;  //1 tour                               
+                                slope_time=0.25;//t=ms
+                                start_slope=true;
+                                {
+                                    motorStep = 11;
+                                }
+                                break;
+                                
+                            case 11:
+                                if(true == Wait2(0, 400))
+                                {
+                                    motorStep = 12;
+                                }
+                                break;
+                                                                
+                            case 12:
+                                consigne=60000 ;  //1 tour                               
+                                slope_time=0.25;//t=ms
+                                start_slope=true;
+                                {
+                                    motorStep = 13;
+                                }
+                                break;
+                                
+                            case 13:
+                                if(true == Wait2(0, 400))
+                                {
+                                    motorStep = 14;
+                                }
+                                break;
+                                                                                                
+                            case 14:
+                                consigne=70000 ;  //1 tour                               
+                                slope_time=0.25;//t=ms
+                                start_slope=true;                                                                  
+                                {   
+                                    motorStep = 15;
+                                }
+                                break;
+                                
+                            case 15:
+                                if(true == Wait2(0, 400))
+                                {                                   
+                                    motorStep = 0;
+                                }
+                                break;                                
+                                                                
+                        }
+                        break;  
+ 
+
+                    case 'c'://arret a la position actuelle 
+                    //qei.Reset(0);
+                        switch(motorStep)
+                        {
+                            case 0:
+                                consigne=70000 ;  //1 tour                               
+                                slope_time=0.5;//t =0.ms
+                                start_slope=true;
+                                {
+                                    motorStep = 1;
+                                }
+                                break;
+                            
+                            case 1:
+                                if(true == Wait2(0, 1000))
+                                {
+                                    motorStep = 2;                                    
+                                }
+                                break;
+                           
+                           case 2:
+                                consigne=0 ;  //1 tour                               
+                                slope_time=0.5;//t=ms
+                                start_slope=true;
+                                {
+                                    motorStep = 3;
+                                }
+                                break;
+                            
+                            case 3:
+                                if(true == Wait2(0, 1000))
+                                {
+                                    motorStep = 0;
+                                }
+                                break;               
+                        }
+                        break;  
+
+                    case 'd'://arret a la position actuelle 
+                    //qei.Reset(0);
+                        position_a_cmd_darret=(LPC_QEI->QEIPOS);//sauvegarde position d'arret 
+                        consigne=position_a_cmd_darret ;  //arret a la position                                
+                        slope_time=0.25;//t =2000ms
                         start_slope=true;
-                        wait(3.5);
-                                   
+                        Wait2(0, 500);
+                                                           
                     break; 
-             
+                                 
                 } 
-                
-                
-                
-         
-             
+
 /*if(device2.readable())//ici on utilise une seconde com rs avec un autre ecrant nextion 
     { 
         c2 = device2.getc(); 
@@ -1090,5 +1684,5 @@
     }*/   
     
 //wait(0.05);    
-}
+        }
 }
\ No newline at end of file