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:
0:ea04a1655f3b
Child:
1:2fe82be93e80
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Sep 27 12:46:15 2019 +0000
@@ -0,0 +1,1094 @@
+////////////////////////////////////////////////////////////////////////////
+//rajout du spi1(p5, p6, p7, p8)--------( 14 / 11 / 2017 ) task5
+//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" 
+
+#include "mbed.h"
+#include "qeihw.h"
+#include "NVIC_set_all_priorities.h"
+
+// déclaration du hardware
+Serial pc(USBTX, USBRX);//utilisation de la liaison usb
+ 
+QEIHW qei(QEI_DIRINV_NONE, QEI_SIGNALMODE_QUAD, QEI_CAPMODE_4X, QEI_INVINX_NONE );
+
+Serial device(p9, p10);// tx, rx.//definition de la liaison rs232
+
+DigitalOut frein_moteur1(p15); //changement momentané pour le projet r2d de p5 a p15
+
+DigitalOut sens_rotation_moteur1(p13);
+   
+PwmOut PWM1(p21);
+  
+SPISlave spi1(p5, p6, p7, p8); // mosi, miso, sclk, ssel
+
+AnalogIn Ain(p20);
+  
+// définition des timers.
+Timer timer1;  
+Timer timer2;  
+
+//definition  spi1
+int reply = 0xAAAA;// en bin "1010101010101010"
+int valueFromMaster;
+
+int Spi_val_RX[10]={0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000};//buffer reception données SPI
+int Spi_val_TX[10]={0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000};//buffer transmission données SPI
+
+// définition des sorties leds
+DigitalOut led1(LED1);
+DigitalOut led3(LED3);
+
+char c ;
+int t ;
+int x=0 ;
+
+float PI=3.141592653589793;
+
+//vitesse moteur 
+int vitesse_actuelle;
+
+//position codeur en pulses 2000pulses/rotation 
+int position_actuelle;//position du codeur
+int position_actuelle_n1;//position du codeur a n-1
+
+//données mecanique & moteur 
+float J=3.375*1e-5;//0.005;//inertie en kg.m²
+float K=0.05;//2;//constante de couple  N.m/v
+float R=5;//K;//resistance du moteur en Ohms
+float Umax=24;//24vdc tension max en volts
+
+//parametres reglage
+float dt_vit(5*1e-4);
+float Ki=12;//default value=10;
+float Kp;
+float Kv;
+float K_sw(K);
+float tau;
+float taud=(10*dt_vit);
+float r1=3;//default value=2.5;derniere valeur =3
+float r2=r1;//default value=2.5;
+
+//variables generateur de consigne///////////////////////////////////////////////////////////////////////////////////////////
+float Teta_debut, Teta_fin, Teta_diff;
+float delta_Teta;
+float consigne;//en pulse 
+float slope_time(1.);//en seconde
+bool start_slope(false);//flag debut de montee
+int ticks_total;
+int count_ticks;
+int count_slope(0);
+int count_max(0);
+
+//variables calcul de l'asservissement en vitesse et position 
+float Tetaco; //valeur de la consigne position en radians
+float Tetam;//valeur mesuree de la position en radians
+
+float dTetam;
+float integ;
+float A;
+
+float dTetam_n1;
+float Tetaco_n1;
+float Tetam_n1;
+float integ_n1;
+float cyclic;
+int signe_rot;
+
+//variable ADC
+float ADCdata;
+float imax=1.8;
+
+//declaration des differantes taches
+void task1_switch(void);
+void task2_switch(void);
+void task3_switch(void);
+void task4_switch(void);
+void task5_switch(void);
+void task6_switch(void);
+void task7_switch(void);
+void task8_switch(void);
+
+//declaration des differantes interuption timer
+Ticker time_up1; //definition du Ticker, avec le nom “time_up1”
+Ticker time_up2; //definition du Ticker, avec le nom “time_up2”
+Ticker time_up3; //definition du Ticker, avec le nom “time_up3”
+Ticker time_up4; //definition du Ticker, avec le nom “time_up4”
+Ticker time_up5; //definition du Ticker, avec le nom_up5”
+Ticker time_up6; //definition du Ticker, avec le nom_up6”
+Ticker time_up7; //definition du Ticker, avec le nom “time_up7”
+Ticker time_up8; //definition du Ticker, avec le nom “time_up8”
+
+//declaration des leds visuelle utiliser pour mesurer le temps des taches 
+DigitalOut myled1(LED1);
+DigitalOut myled3(LED3);
+
+//declaration des variables afficheur 
+char mRxMsg[40];
+int mRxIdx;
+char charac;  
+bool mTouch;
+int mTouchX, mTouchY;
+
+int val_temp;//valleur temporaire
+int val_temp1;//valleur temporaire
+
+////////////////////////////////////////////////////////////
+//            fonction affichage sur nextion              // 
+////////////////////////////////////////////////////////////
+
+bool Touch(void) {
+    return mTouch;
+}
+
+int TouchX(void) {
+    return mTouchX;
+}
+
+int TouchY(void) {
+    return mTouchY;
+}
+
+ bool lectureRSlcd(void)
+{
+    if(device.readable())
+    { 
+        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
+        { 
+          mRxIdx=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;
+             }
+        }
+    }
+ return mTouch;    
+ }
+ 
+//lecture de la donnée val  d une reponse de  sliders 
+ int lecture_slider_RS_lcd(void)
+{
+    if(device.readable())
+    { 
+        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
+        { 
+          mRxIdx=0;
+        
+            if(mRxMsg[0] == 0x71) //sliders data return
+             {   
+             val_temp=mRxMsg[1];
+             
+             }
+        }
+   }
+    return val_temp; 
+ }
+
+//recuperation de la valeur val du sliders h0 
+// 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
+}
+//fonction general recuperation de la valeur val de h0 
+void get_val_h0()
+{  
+ device.printf("get h0.val %c%c%c", 0xff, 0xff, 0xff);//recuperation de la valeur val du sliders h0
+}
+
+////////////////////////////////////////
+//    Convertion pulses to radians    //
+////////////////////////////////////////
+
+//PI =3.141592653589793 =1000 pulses codeurs
+float pulsesToRadians(int pulses) 
+{
+  float radians_VAL;
+  radians_VAL=(pulses*PI)/1000.;
+  return radians_VAL;
+};
+
+////////////////////////////////////////
+//   calcule de la vitesse angulaire  //
+////////////////////////////////////////
+
+// ici le code du calcule pas encore fait !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+// Convert ASCII string to unsigned 32-bit decimal "string is null-terminated"
+  unsigned long Str2UDec(unsigned char string[]){
+  unsigned long i = 0;  // index
+  unsigned long n = 0;  // number
+  while(string[i] != 0){
+    n = 10*n +(string[i]-0x30);
+    i++;
+  }
+  return n;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+//                   declaration de la fonction moteur1                    //
+/////////////////////////////////////////////////////////////////////////////
+
+void motor1_mouve(int position1,int T1,int position2,int T2,int position3,int T3)
+{
+
+/////////////////////////////////////////////////////////////////////
+//               mouvement   trapezoide  non tésté                 //
+/////////////////////////////////////////////////////////////////////
+
+    timer1.start(); // déclenchement du timer1 
+    timer2.start(); // déclenchement du timer2
+//ACC      
+    consigne=position1 ;                                 
+    slope_time=T1;
+    start_slope=true;
+    //do{} while (timer1.read_ms()!=T1);
+    do{} while (timer1.read_ms()<T1);
+    if (timer1.read_ms()>T1) // lecture du temps du timer1 en ms
+    { 
+      //device.printf("TIME out T1 ms \r\n");
+      device.printf("t0.txt=\"time1out\"%c%c%c", 0xff, 0xff, 0xff); 
+    } 
+
+    timer1.reset(); // remise à zéro du timer1
+//vmax  
+    timer1.start(); // déclenchement du timer1 
+    consigne=position2 ;                                 
+    slope_time=T2;
+    start_slope=true;
+   //do{} while (timer1.read_ms()!=T2);
+   do{} while (timer1.read_ms()<T2);
+    if (timer1.read_ms()>T2) // lecture du temps du timer1 en ms
+    { 
+      //device.printf("TIME out T2 ms \r\n");
+      device.printf("t0.txt=\"time2out\"%c%c%c", 0xff, 0xff, 0xff); 
+    } 
+    timer1.reset(); // remise à zéro du timer1
+//DCC
+    timer1.start(); // déclenchement du timer1 
+    consigne=position3 ;                                 
+    slope_time=T3;
+    start_slope=true;
+   //do{} while (timer1.read_ms()!=T3);
+   do{} while (timer1.read_ms()<T3);
+    if (timer1.read_ms()>T3) // lecture du temps du timer1 en ms
+    { 
+      //device.printf("TIME out T3 ms \r\n");
+      device.printf("t0.txt=\"time3out\"%c%c%c", 0xff, 0xff, 0xff); 
+    } 
+    timer1.reset(); // remise à zéro du timer1
+
+    if (timer2.read_ms()>(T1+T2+T3)) // lecture du temps du timer1 en ms
+    { 
+      //device.printf("TIME out  motor  \r\n");
+      device.printf("t0.txt=\"timeMout\"%c%c%c", 0xff, 0xff, 0xff); 
+    }      
+
+timer2.reset(); // remise à zéro du timer2
+};
+
+
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+//                         declaration des differantes pages                            //
+//////////////////////////////////////////////////////////////////////////////////////////
+
+void page0()//code de la page : 6600ffffff
+{
+    
+//device.printf("cls RED %c%c%c", 0xff, 0xff, 0xff); //clear screen color red fonnctionne pas ??
+//device.printf("rest%c%c%c", 0xff, 0xff, 0xff);//y as un bug toute les commande prochine fonctionne plus ???
+//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); 
+device.printf("b13.txt=\"flyready\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
+wait_ms(5); 
+device.printf("b12.txt=\"BREAK\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
+wait_ms(5); 
+device.printf("b11.txt=\"LANDING\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
+wait_ms(5);
+device.printf("b21.txt=\"Quantum\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
+wait_ms(5);
+
+device.printf("b18.txt=\"Speed M\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
+wait_ms(5);
+device.printf("b19.txt=\"couple M\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
+wait_ms(5);
+device.printf("b20.txt=\"Afterburner\"%c%c%c", 0xff, 0xff, 0xff);//affiche la version soft -------sy
+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);
+//device.printf("ref b0%c%c%c", 0xff, 0xff, 0xff);//rafrechir b0--------------sy
+
+//wait_ms(10);
+ 
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////             
+             //FLY READY switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x19)&&(mRxMsg[3] == 0x01))
+             { 
+                //keyboard.printf("r");//flight ready
+             }//uniquement le bouton allumeras la led 1 en release ---------------SY
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////              
+             //space break switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x18)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;  
+             //keyboard.printf("x");//spacebreak
+             //wait(0.5);
+              while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.printf("x");//spacebreak
+                      //wait(0.035);
+              }
+             }//uniquement le bouton allumeras la led 2 en press event ---------------SY
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////               
+             //LANDING switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x17)&&(mRxMsg[3] == 0x01))
+             {
+             //keyboard.printf("n");//landing mode 
+             }//uniquement le bouton home allumeras la led 3 en release ---------------SY
+             
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                           
+             //strafe up switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x13)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+             //keyboard.printf(" ");//strafe up
+             //wait(0.5);
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.printf(" ");//strafe up
+                      //wait(0.035);
+              }
+ 
+             }//uniquement le bouton allumeras la led 4 en release ---------------SY
+             
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////              
+             //strafe down switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x14)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+              //keyboard.keyCode(KEY_CTRL);//strafe down
+              //wait(0.5);             
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.keyCode(KEY_CTRL);//strafe down
+                      //wait(0.035);
+              }             
+                           
+             }//uniquement le bouton allumeras la led 4 en release ---------------SY
+             
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
+             //forward switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x02)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+              //keyboard.printf("w");//vers l'avant
+              //wait(0.5);
+             
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.printf("w");//vers l'avant
+                      //wait(0.035);
+              } 
+
+             }//uniquement le bouton  allumeras la led 4 en release ---------------SY
+
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////              
+             //rearward switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x01)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+              //keyboard.printf("s");//vers l arriere
+              //wait(0.5);             
+             
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.printf("s");//vers l arriere
+                      //wait(0.035);
+              } 
+             
+             }//uniquement le bouton  allumeras la led 4 en release ---------------SY
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
+             //Right switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x03)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+              //keyboard.printf("d");//vers la droite
+              //wait(0.5);
+
+            while (mRxMsg[3]!=0x00)
+            {
+                //lectureRSlcd();
+                //keyboard.printf("d");//vers la droite
+                //wait(0.035);
+            }
+             
+             }//uniquement le bouton  allumeras la led 4 en release ---------------SY
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
+             //Left switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x04)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+             
+             //keyboard.printf("a");//vers la gauche
+             //wait(0.5);
+             
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.printf("a");//vers la gauche
+                      //wait(0.035);
+              } 
+              
+             }//uniquement le bouton  allumeras la led 4 en release ---------------SY
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
+             //roll left switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x1a)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+              //keyboard.printf("e");//rouli gauche
+              //wait(0.5);             
+             
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.printf("e");//rouli gauche
+                      //wait(0.035);
+              } 
+             
+             }//uniquement le bouton  allumeras la led 4 en release ---------------SY
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
+             //roll Right switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x05)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+                   
+             //keyboard.printf("q");//rouli droit
+             //wait(0.5);
+                          
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.printf("q");//rouli droit
+                      //wait(0.035);
+              } 
+             
+             }//uniquement le bouton  allumeras la led 4 en release ---------------SY
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
+             //tangage vers le bas  switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x1b)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+             
+              //keyboard.printf("");//touche non affecté 
+              //wait(0.5);
+                                        
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.printf("");//touche non affecté la touche non connue
+                      //wait(0.035);
+              }              
+             
+             }//uniquement le bouton  allumeras la led 4 en release ---------------SY
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
+            //tangage vers le haut  switch
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x1b)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+
+              //keyboard.printf("");//touche non affecté  la touche non connue
+              //wait(0.5);
+
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.printf("");//touche non affecté
+                      //wait(0.035);
+              }              
+             
+             }//uniquement le bouton  allumeras la led 4 en release ---------------SY
+             
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
+            //quantum drive
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x1f)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+
+              //keyboard.printf("b");//touche non affecté  la touche non connue
+              //wait(0.5);
+
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.printf("b");//touche non affecté
+                      //wait(0.035);
+              }              
+             
+             }//uniquement le bouton  allumeras la led 4 en release ---------------SY
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
+            //Speed M
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x1c)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+
+              //keyboard.printf("c");//touche non affecté  la touche non connue
+              //wait(0.5);
+
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.printf("c");//touche non affecté
+                      //wait(0.035);
+              }              
+             
+             }//uniquement le bouton  allumeras la led 4 en release ---------------SY
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
+            //Speed M
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x1c)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+
+              //keyboard.printf("b");//touche non affecté  la touche non connue
+              //wait(0.5);
+
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.printf("c");//touche non affecté
+                      //wait(0.035);
+              }              
+             
+             }//uniquement le bouton  allumeras la led 4 en release ---------------SY
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
+            //Afterburner
+          if((mRxMsg[0] == 0x65)&&(mRxMsg[1] == 0x00)&&(mRxMsg[2] == 0x1c)&&(mRxMsg[3] == 0x01))//press
+             {myled3=1;
+
+              //keyboard.keyCode(KEY_SHIFT);
+              //wait(0.5);
+
+            while (mRxMsg[3]!=0x00)
+              {
+                      //lectureRSlcd();
+                      //keyboard.keyCode(KEY_SHIFT);
+                      //wait(0.035);
+              }              
+             
+             }//uniquement le bouton  allumeras la led 4 en release ---------------SY
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
+
+//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 
+
+}
+ 
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//******************************************************************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    
+}
+ 
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//******************************************************************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
+}
+  
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//******************************************************************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     
+}
+   
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//******************************************************************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
+ 
+}   
+
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//******************************************************************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("add 1,0,%d%c%c%c", (position_actuelle/500), 0xff, 0xff, 0xff);// pour la fonction waveform add id1,chanel0,position actu
+
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//******************************************************************page6******************************************************************//
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    
+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("add 2,0,%d%c%c%c", (position_actuelle/500), 0xff, 0xff, 0xff);// pour la fonction waveform add id1,chanel0,position actu
+
+}    
+
+
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//******************************************************************LES TASKS**************************************************************//
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+////////////////////////////////////////
+//                TASKS1              //
+////////////////////////////////////////
+void task1_switch()
+{ 
+
+//lecture valeur codeur et conversion en radians
+position_actuelle=qei.GetPosition();//lecture valeur codeur et affectation a la variable globale 
+Tetam=pulsesToRadians(position_actuelle);//conversion valeur impulsionel en radians 
+
+//Calcul de la nouvelle consigne:
+
+//Etape1:derivee filtree 
+dTetam=1./(1.+taud*2./dt_vit)*(-dTetam_n1*(1.-taud*2./dt_vit)+2./dt_vit*(Tetam-Tetam_n1));
+
+//Etape2:calcul de integ non saturee
+integ=integ_n1+dt_vit/2.*((Tetaco-Tetam)+(Tetaco_n1-Tetam_n1));
+
+//Etape3:Calcul de A non saturee
+A=Kv*K_sw/Umax*(-dTetam+Kp*Ki*integ-Kp*Tetam);
+
+//Etape 4 et 5 : calcul de integ saturee
+if (A>1)
+    {
+    integ=1./Kp/Ki*(Umax/Kv/K_sw+dTetam+Kp*Tetam);
+    A=1;
+    }
+if(A<-1)
+    {
+    integ=1./Kp/Ki*(-Umax/Kv/K_sw+dTetam+Kp*Tetam); 
+    A=-1; 
+    }
+    
+//Etape 6:affectation du signe de rotation a l'etage de puissance 
+if (A>0)
+{
+    signe_rot=1;
+    sens_rotation_moteur1.write(signe_rot); //affectation du sens de rotation moteur1
+    cyclic=A;
+}
+else 
+{
+    signe_rot=0;
+    sens_rotation_moteur1.write(signe_rot); //affectation du sens de rotation moteur1
+    cyclic=-A;//peut etre une erreur ici sy??
+}
+
+PWM1.write(cyclic);// affectation  de la valeur calculé en pwm
+
+//   enregistrement des valeurs N-1
+position_actuelle_n1=position_actuelle;   
+dTetam_n1=dTetam;
+Tetaco_n1=Tetaco;
+Tetam_n1=Tetam;
+integ_n1=integ;
+
+//myled1=!myled1;//changement etat de la led1
+}
+
+////////////////////////////////////////
+//                TASKS2              //
+////////////////////////////////////////
+void task2_switch()
+{
+//        pc.printf("%f\r\n", Tetaco);//valeur float consigne  en radians le renvoyé par usb
+//        pc.printf("%i\r\n", position_actuelle);//valeur int du codeur renvoyé par usb        
+//        pc.printf("%f\r\n", Tetam);//valeur float du codeur en radians renvoyé par usb
+//        pc.printf("dTetam : %f\r\n", dTetam);//valeur float dTetam
+//        pc.printf("integ : %f\r\n", integ);//valeur float integ               
+//        pc.printf("%f\r\n", A);//valeur float du codeur en radians le renvoyé par usb
+//        pc.printf("%e\r\n", cyclic);//valeur float du codeur en radians le renvoyé par usb
+//        pc.printf("\r\n");//retour chario
+//        pc.printf("$%d %d %d;", position_actuelle,position_actuelle/2,position_actuelle/10 ); //utiliser avec logicielle serial port ploter 
+//        pc.printf("$%d ;", position_actuelle); //utiliser avec logicielle serial port ploter 
+//       pc.printf("%d",position_actuelle); //utiliser avec logicielle serial port ploter 
+ 
+// this code is a crude template
+// you will need to edit this
+
+
+// use this loop if sending integers----------------------------------------------SY
+
+//    int ppp = position_actuelle;
+//    char text[7];
+//    snprintf(text, 7, "%d", ppp);
+//    pc.printf("\r");
+//    pc.printf(text);
+
+
+// or use this loop if sending floats
+
+//    float ppp =position_actuelle;
+//    char ppp_text[30];
+//    dtostrf(ppp, 10, 10, ppp_text);
+//    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  
+         
+};
+
+////////////////////////////////////////
+//                TASKS3              //
+////////////////////////////////////////
+void task3_switch()
+{ 
+
+//generation de la trajectoire 
+if(start_slope)
+{
+    Teta_debut=Tetam;//affectation de la mesure a la variable globale
+    Teta_fin=pulsesToRadians(consigne);//affectation de la consigne a la variable globale
+    Teta_diff = Teta_fin - Teta_debut;//calcule de la position a parcourir
+    delta_Teta=(Teta_diff/slope_time)*5*1e-4;//calcule de la distance ideal parcouru en 500us "regle de trois"!!!
+    count_slope = 0;//mise a zero du conteur de pas 
+    count_max = slope_time/(5*1e-4);//calcule du nombre max de pas 
+    start_slope=false;
+}
+count_slope++;//incrementation nombre de pas
+if (count_slope<=count_max){Tetaco=Tetaco+delta_Teta;}
+ 
+}
+
+////////////////////////////////////////
+//                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", (ADCdata)/10, 0xff, 0xff, 0xff);// pour la fonction waveform add id1,chanel0,position actu
+
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//                TASKS5  reception et transfert données sur SPI            //
+//////////////////////////////////////////////////////////////////////////////
+void task5_switch()
+{
+        //reply=0xAAAA;
+        //spi1.reply(reply);  
+        if (spi1.receive()) 
+        {
+            valueFromMaster = spi1.read();
+            
+            Spi_val_RX[x]=valueFromMaster;
+            if (x==9){x=0;}
+            else {x++;}
+           
+            // pc.printf("%d Something rxvd, and should have replied with %d\n\r", counter++, reply);
+            //reply=valueFromMaster;
+            //spi1.reply(reply);              // Prime SPI with next reply
+            //reply--;
+            
+            //  pc.printf("    Received value from Master (%d) Next reply will be %d \r\n", valueFromMaster, reply);
+            //if (reply==0){reply=65535;}//100
+        }   
+
+// ici code de la tache 5
+}
+
+/////////////////////////////////////////////////////////////////////////
+//              TASKS6  lecture de l'image courant moteur              //
+/////////////////////////////////////////////////////////////////////////
+void task6_switch()
+{ 
+
+//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/10; //divide by 10 
+//ADCdata=Ain.read_u16();
+if(ADCdata>=imax)//si l'image du courant egale a 0.5v je coupe le moteur .
+{
+ while(1){                    
+            PWM1.write(0);//mise du signal pwm a zero.
+//            pc.printf("%1.3f",ADCdata); 
+//            pc.printf("V\n\r");
+//            pc.printf("current overload \n\r"); 
+            
+            //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
+
+}
+
+////////////////////////////////////////
+//                TASKS7              //
+////////////////////////////////////////
+void task7_switch()
+{
+//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];
+                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;
+    }
+}
+
+////////////////////////////////////////
+//                TASKS8              //
+////////////////////////////////////////
+
+void task8_switch()
+{
+
+    if((mRxMsg[0] == 0x66))//detection code de la page0 
+     {  
+        switch ( mRxMsg[1]) 
+        {
+        case 0x00:
+        page0();//ici la page0 es traité ----------- code de la page : 66 00 ff ff ff
+        mRxMsg[0] = 0x00;
+        break;
+        
+        case 0x01:
+        page1();//ici la page0 es traité ----------- code de la page : 66 01 ff ff ff
+        mRxMsg[0] = 0x00;
+        break;
+        
+        case 0x02:
+        page2();//ici la page0 es traité ----------- code de la page : 66 02 ff ff ff
+        mRxMsg[0] = 0x00;
+        break;
+        
+        case 0x03:
+        page3();//ici la page0 es traité ----------- code de la page : 66 03 ff ff ff
+        mRxMsg[0] = 0x00;
+        break;
+        
+        case 0x04:
+        page4();//ici la page0 es traité ----------- code de la page : 66 04 ff ff ff
+        mRxMsg[0] = 0x00;
+        break;
+        
+        case 0x05:
+        page5();//ici la page0 es traité ----------- code de la page : 66 05 ff ff ff
+        mRxMsg[0] = 0x00;
+        break;
+
+        case 0x06:
+        page6();//ici la page6 es traité ----------- code de la page : 66 06 ff ff ff
+        mRxMsg[0] = 0x00;
+        break;          
+                          
+        }     
+        
+// ici code de la tache 8
+    }
+
+}
+
+////////////////////////////////////////////////////////////////////////////
+//                       PROGRAMME PRINCIPAL                              //
+////////////////////////////////////////////////////////////////////////////
+                                                
+int main()
+{
+              // 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
+                //NVIC_SetPriority(TIMER3_IRQn, 255);// set mbed tickers to lower priority than other things
+                //NVIC_set_all_irq_priorities(0);
+                
+                qei.SetDigiFilter(480UL);//filtre 
+                qei.SetMaxPosition(0xFFFFFFFF);//position max 4294967295 pulses
+                
+//initialisation de la com rs232                
+                device.baud(9600);//rs232 28800 baud    
+                device.printf("serial rs232 ok \n");
+                
+                //calculs  de tau ,Kv,Kp          
+                tau=(J*R)/K;
+                Kv=r1*r2*tau*Ki-1.;
+                if(Kv<0){Kv = -Kv;}
+                Kp=r1*Ki*(1.+Kv)/Kv;
+                              
+//initialisation moteur   
+PWM1.period(0.00005);// initialisation du rapport cyclique fixe la période à 50us----f=20Khz
+frein_moteur1.write(0);//affectation de la valeur du frein moteur1
+sens_rotation_moteur1.write(0); //affectation du sens de rotation moteur1 non utiliser puisque c'est la tache1 qui le fait non pas la generation de trajectoire
+
+//initialisation du spi
+    spi1.format(16,3);        // Setup:  bit data, high steady state clock, 2nd edge capture
+    spi1.frequency(1000000); // 1MHz
+ 
+//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_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
+
+ device.printf("sendme");
+ 
+count_ticks=0;                      
+        while(1)
+            { 
+            
+                 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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
+                {
+
+                    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;  
+
+                    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
+                        start_slope=true;
+                        wait(3.5);
+                                   
+                    break; 
+             
+                } 
+                
+                
+                
+         
+             
+/*if(device2.readable())//ici on utilise une seconde com rs avec un autre ecrant nextion 
+    { 
+        c2 = device2.getc(); 
+        mRxMsg2[mRxIdx2] = c2;
+        mRxIdx2++;
+        if ((mRxIdx2 >= 3) && (mRxMsg2[mRxIdx2-1] == 0xff) && (mRxMsg2[mRxIdx2-2] == 0xff) && (mRxMsg2[mRxIdx2-3] == 0xff)) //valid rx message
+        { 
+          mRxIdx2=0;
+        
+            if(mRxMsg2[0] == 0x67) //Touch coordinate data return
+             {   mTouchX2 = (mRxMsg2[1]*256) + mRxMsg2[2];
+                mTouchY2 = (mRxMsg2[3]*256) + mRxMsg2[4];
+                if(mRxMsg2[5] == 0x01)
+                    mTouch2 = true; 
+                else
+                    mTouch2 = false;
+             }
+             //start switch
+            if((mRxMsg2[0] == 0x65)&&(mRxMsg2[1] == 0x01)&&(mRxMsg2[2] == 0x01)&&(mRxMsg2[3] == 0x00))
+             {
+              keyboard.printf("t");
+             }//uniquement le bouton start allumeras la led 1 en release ---------------SY
+
+        }
+    }*/   
+    
+//wait(0.05);    
+}
+}
\ No newline at end of file